#include <iostream>

#include <cstring>
using namespace std;
const int N=5000;
int din[N];
int h[N],ne[N],to[N],idx;
int dp[N][2];
int n;
void add(int x,int y)
{
	ne[idx]=h[x];
	to[idx]=y;
	h[x]=idx++;
}
void dfs(int u)
{
	dp[u][1]=1;
	for(int i=h[u];~i;i=ne[i])
	{
		int j=to[i];
		dfs(j);
		dp[u][1]+=min(dp[j][1],dp[j][0]);
		dp[u][0]+=dp[j][1];
	}
}
int main()
{
	while(scanf("%d",&n)!=EOF)
	{
		memset(h,-1,sizeof(h));
		memset(dp,0,sizeof(dp));
		memset(din,0,sizeof(din));
		idx=0;
		int x,t;
		int root=-1;
		for(int i=1;i<=n;i++)
		{
			scanf("%d:(%d)",&x,&t);
			int c;
			for(int i=1;i<=t;i++)
			{
				scanf("%d",&c);
				add(x,c);
				din[c]++;
			}		
		}
		for(int i=0;i<n;i++)
		{
			if(din[i]==0)
			{
				root=i;
				break;
			}
		}
		
		dfs(root);
		cout<<min(dp[root][1],dp[root][0])<<endl;
	}
	return 0;
}
